個人的に考える「Pythonのここが素敵!」ポイント
こんにちは、みかみです。
業務で Python をメインで使うようになってから1年経ちました。
すごく使いやすいと思ってます。
最近では確認作業に必要なちょっとしたデータの加工とか、Python 使ってやってます。
Python に限らずな点も多々ありですが、改めて、個人的に「Python のここが素敵!」と思うポイントを考えてみました。
1. 簡単に書ける
言わずもがな、LL言語(Lightweight Language)である Python。
シンプルに書けるし、コード量も少ないし。
インデント合わせないとエラーになったり、どこからどこまでが1つの関数なのかわかりにくかったりで({}
で囲まれてたりしないので。。
最初は少し戸惑いもありましたが、文法は他の言語とほぼ同じなので、とっつきやすかったです。
リスト内包表記やlambda式も、慣れてみると、他の言語書いててもついつい使いたくなります。(1stepで書けるので。
2. 簡単に動かせる
対話モードで実行できるので、例えば
「このシステム関数で取れるのどんなフォーマットだっけ?」
とか、
「これ実行したらフルパスとれたっけ?それともファイル名だけだっけ?」
な時に、簡単に確認できます。
また、Jupyter notebook を使えば、
コーディング→実行→可視化→共有
も簡単にできます。
ファイルにコード書いて、コンソールからファイル指定して実行より速いので、個人的には Jupyter notebook よく使ってます。
3. 環境構築がらくちん
Python 2系と3系で、文法などにもけっこう差分があるようで。。
pyenv 使えば1つのマシンに複数環境のインストールも、使用環境の切り替えも簡単にできます。
また、ライブラリなどのインストールが必要になった場合、コンソールからコマンド打つだけでOKな pip インストールも、
インストーラー探して、ダウンロードして、実行して・・・(またはダウンロードしたライブラリを別ディレクトリに移動して・・・
な手間と比較すると非常に便利です。
新しいプロジェクトが始まるときなどの環境構築、けっこう時間かかるイメージ持ってましたが、Python だったらハードル低そうv
4. ライブラリもたくさん
Python と言えば「データ分析」なイメージでした。
NumPy、Pandas、scikit-learn。さすがです!
データ分析分野に限らなくとも、HTTP通信できる requests や JSON を簡単に扱える simplejson、そしてAWSアクセス時に使用する boto など、ライブラリが豊富です。
有名どころではなくても、用途に合ったもの何かないか、Webで探すとたくさんのライブラリが見つかります。(ドキュメントが英語しかなかったり、Open Issueがあったりなのは難点ですが。。
もし「ライブラリなしで自分でコード書け!」だったら、気が遠くなります。。
便利なものは使うにかぎりますし、使えるものは多い方がうれしいですv
5. ネーミング
Python! Anaconda!!
由来は生き物じゃないとしても、なんとなくヘビなイメージ(かっこいいv
ついでに見てた各OSSの名前の由来がけっこうおもしろかったです。
個人的に、いいなwとおもったのが、Namazu と Google V8w
そしてやはり、MySQL(からの、MariaDB><v
おわりに
自分C言語出身なので、たまにmalloc/free自分で書きたい。。と思うこともあります。。。
最近、コンパイルオプション(#ifdef)使えればなー。。と思ったこともありました。。。
もちろん、LL言語の方が優れてるとは思ってません。
でも、LL言語の方が効率的?と思うのです。
なので、今一番好きな言語、Python です。
Pythonist 目指して、今後も Python 使っていこうと思ってます。